package cinvestav.adviseme.databasemodel;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import javax.xml.bind.annotation.XmlRootElement;

import cinvestav.adviseme.datamodel.TipoLugar;
import cinvestav.adviseme.util.DBException;
import cinvestav.adviseme.util.DataBaseDictionary;

@XmlRootElement
public class TipoLugarDB extends DataBase implements ITipoLugarDB{

	/**
	 * Constructor vacio
	 * @throws DBException
	 */
	public TipoLugarDB() throws DBException {
		super();
		// TODO Auto-generated constructor stub
	}

	@Override
	public List<TipoLugar> getAll() throws DBException {
		// TODO Auto-generated method stub
		try {
			Connection c = this.getConnection();
			ResultSet res = this.ejecutarQuery(c.prepareStatement(DataBaseDictionary.GET_ALL_TIPO_LUGAR));
			List<TipoLugar> tipoLugares = new LinkedList<TipoLugar>();
			while(res.next()){
				TipoLugar tipoLugar = new TipoLugar();
				tipoLugar.setId(res.getInt("ide_tip"));
				tipoLugar.setDescripcion(res.getString("des_tip"));
				tipoLugares.add(tipoLugar);
			}
			c.close();
			return tipoLugares;
		} catch (SQLException e) {
			// TODO: handle exception
			throw new DBException("Error al ejecutar la consulta:\n"+
					DataBaseDictionary.GET_ALL_TIPO_LUGAR);
		}
	}

	@Override
	public List<TipoLugar> getByFiter(Map<String, String[]> filtros)
			throws DBException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Boolean delete(TipoLugar tipoLugar) throws DBException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Boolean insert(TipoLugar tipolugar) throws DBException {
		// TODO Auto-generated method stub
		return null;
	}

	

}
